import re
from presentation.main import goodlist, rules,Lmaxs

'''
输入：rules是之前得到的规则列表
输出：替换好商品名称的规则列表
'''


def Replace_goodsname_rules(rules):
    finalRules = []
    # 调用re函数库中的complie函数设置一个查找的模式
    # \d为0~9的数字
    # +表示无论多少位
    pattern = re.compile(r'\d+')

    # 遍历规则rules准备替换
    for rule in rules:
        # 调用re函数库中的findall函数，可以按照自己定义的模式寻找所有符合条件的字符串，返回一个列表
        ruleNum = pattern.findall(rule[0])
        # 序列解包，按照','分割，rest是除了前面以外剩下的
        ruleList, *rest = rule[0].split(',')
        # 得到新的规则
        ruleNew = '规则 [%s] => [%s]' % (list(goodlist)[int(ruleNum[0])], list(goodlist)[int(ruleNum[1])])
        for other in rest:
            ruleNew = ruleNew + ',' + other
        finalRules.append(ruleNew)
    return finalRules


finalRules = Replace_goodsname_rules(rules)
print(finalRules)


def Replace_goodsname_Lmax(Lmaxs):
    finalLmax = []
    # 调用re函数库中的complie函数设置一个查找的模式
    # \d为0~9的数字
    # +表示无论多少位
    pattern1 = re.compile(r'\d+')

    # 遍历规则Lmaxs准备替换
    for Lmax in Lmaxs:
        # 调用re函数库中的findall函数，可以按照自己定义的模式寻找所有符合条件的字符串，返回一个列表
        LmaxNum = pattern1.findall(Lmax[0])
        # 序列解包，按照','分割，rest是除了前面以外剩下的
        LmaxList, *rest = Lmax[0].split(',')
        # 得到新的规则
        LmaxNew = '[[%s],[%s]]' % (list(goodlist)[int(LmaxNum[0])], list(goodlist)[int(LmaxNum[1])])
        for other in rest:
            LmaxNew = LmaxNew + ',' + other
        finalLmax.append(LmaxNew)
    return finalLmax

# finalLmax = Replace_goodsname_Lmax(Lmaxs)
# print(finalLmax)